import { Dispatch } from 'redux';
import { History, Location } from 'history';

export interface UmiComponentProps {
  history?: History;
  dispatch: Dispatch<any>;
  location?: Location;
  router?: any;
  route?: any;
}

interface CounterModel {
  number: number;
}

interface Global {
  message: string;
  headerShowFlag: boolean;
}

interface Loading {
  global: boolean;
  models: Object;
  effects: any;
}

export interface GlobalState {
  counter: CounterModel;
  global: Global;
  loading: Loading;
}
